import {zhHans} from "vuetify/locale";

export default {
    $vuetify: zhHans,
    slogan: "让管理 ETCD 变得更简单",
    window: {
        main: "Etcd Workbench",
        settings: "设置",
    },
    common: {
        confirmTitle: "请确认",
        confirm: "确认",
        cancel: "取消",
        commit: "提交",
        close: "关闭",
        file: "文件",
        selectFile: "请选择文件",
        view: "查看",
        readError: "读取错误",
        size: "大小",
        lastModified: "最近修改",
        enable: "启用",
        user: "用户",
        password: "密码",
        none: "无",
        privateKey: "私钥",
        sha256: "Sha256",
        sha512: "Sha512",
        other: "其他",
        connect: "连接",
        failed: "失败",
        or: "或",
        submit: "提交",
        appUpdate: "应用更新",
        install: "安装",
        content: "内容",
        appTip: "应用提示",
        copied: "复制成功",
        restart: "重启应用",
        refresh: "刷新",
        typeToSearch: "输入任意内容搜索",
        successTip: "成功!",
        remove: "移除",
        edit: "编辑",
        add: "添加",
        save: "保存",
        delete: "删除",
        recover: "恢复",
        version: "版本",
        lease: "租约",
        revision: "修订版本",
        ttl: "TTL",
        success: "成功",
        omit: "省略",
        warning: "警告",
        key: "键",
        prefix: "前缀",
        yes: "是",
        no: "否",
        paused: "已暂停",
        running: "运行中",
        start: "启动",
        stop: "停止",
        copy: "复制",
        keys: "键",
        monitor: "监视器",
        downloaded: "已下载",
        installedUpdates: "已安装更新",
        imported: "已导入",
    },
    feedback: {
        copyError: "无法写入剪切板",
        updateMessage: "新版本 {version} 已发布{releaseDate}，立即安装？",
        appErrorIssue: "软件发生错误，为了帮助解决问题，是否将错误信息提交给作者？",
        appExitNotice: "应用将会退出",
        updateErrorTip: "更新时发生错误",
        updateRestartConfirm: "更新完成，是否立即重启软件？",
        updateUnableTip: "无法更新",
        openBrowserFailedTip: "打开浏览器失败，原因：{reason}",
    },
    component: {
        fileSelector: {
            sizeTip: "选择的文件体积太大!",
            readFileError: "读取文件错误",
            viewContent: "查看文件内容",
        },
        tree: {
            expandOrCollapse: "展开 / 收起",
            searchTip: "如需启用/禁用目录搜索，请前往设置修改",
        },
        completeInput: {
            notice: "根据输入内容提示下一级目录名称（可在设置中调整提示准确度）"
        },
        snapshotList: {
            tasks: "快照任务",
            recent: "近期快照",
            openDir: "打开文件目录",
            emptyStateTitle: "暂无记录",
            stopSnapshotConfirm: "确认停止快照数据备份？",
        },
        editor: {
            formatError: "格式化错误",
            format: "格式化",
        }
    },
    main: {
        home: {
            newConnection: "新建连接",
            favoritesList: "我的连接",
            removeFavoritesConfirm: "确定要从列表中删除此配置？",
            closeTabConfirm: "确定要关闭当前连接？",
            closeDirtyTabConfirm: "当前连接有已修改未保存的键，你确定要放弃更改并关闭连接？",
            exitConfirm: "确定退出应用？",
            exitConfirmTitle: "退出确认",
            exitWithDirtyTabConfirm: "检测到有已修改未保存的键，确认抛弃修改并退出应用？",
            exiting: "退出应用中...",
            sessionConnLostTip: "会话连接丢失，原因：{reason}",
            connector: {
                serverConnection: "连接 ETCD 数据库",
                form: {
                    name: "连接名",
                    namePlaceholder: "为当前连接命名",
                    host: "主机",
                    hostPlaceholder: "ETCD数据库主机地址",
                    port: "端口",
                    namespace: "全局前缀",
                    namespacePlaceholder: "连接预设的全局前缀（Namespace），默认为空",
                    auth: "身份认证",
                    ssl: "SSL",
                    ssh: "SSH",
                    authDivider: "ETCD身份认证",
                    authUsername: "用户名",
                    authUsernamePlaceholder: "用于 ETCD 登录的用户名",
                    authPassword: "密码",
                    authPasswordPlaceholder: "用于 ETCD 登录的密码",
                    sslDivider: "SSL/TLS",
                    sslAuthority: "连接授权",
                    sslAuthorityPlaceholder: "SSL/TLS authority",
                    sslCAFile: "CA证书",
                    sslCAFilePlaceholder: "PEM 编码的 X509 证书，小于 128KB。",
                    identity: "客户端认证",
                    rsaAlgorithm: "针对RSA的Hash算法",
                    certFile: "认证文件",
                    certFilePlaceholder: "PEM 编码证书，小于 128KB。",
                    certKetFile: "私钥文件",
                    certKetFilePlaceholder: "PEM 编码的私钥，小于 128KB。",
                    sshDivider: "SSH隧道",
                    sshHostPlaceholder: "SSH连接主机地址",
                    sshPortPlaceholder: "SSH连接端口",
                    sshUserPlaceholder: "SSH登录用户",
                    sshPasswordPlaceholder: "SSH登录密码",
                    sshKeyPlaceholder: "支持的私钥格式：Openssh、RSA、PKCS8、PKCS8 Encrypted，小于 128KB。",
                    sshKeyPasswordPlaceholder: "私钥文件密码（选填）",
                    testConnect: "连接测试",
                    save: "保存",
                    ruleHost: "请填写主机地址",
                    rulePort: "请填写端口",
                    rulePortInvalid: "无效的端口",
                    ruleUsername: "请填写用户名",
                    rulePassword: "请填写密码",
                    ruleSshHost: "请填写SSH主机地址",
                    ruleHostInvalid: "无效的主机地址",
                    ruleUser: "请填写用户",
                },
                connectionTesting: "连接测试中...",
                testSuccess: "连接测试通过!",
                connecting: "连接中...",
                nameEmptyTip: "请填写连接名",
            },
            connection: {
                tabCluster: "数据库集群",
                tabKeys: "键管理",
                tabMonitor: "监视器管理",
                tabLeases: "租约管理",
                tabUsers: "用户管理",
                tabRoles: "角色管理",
                keyMonitorAlert: "监视器会绑定到当前连接，当连接会话关闭时，它将停止运行。",
                keyOnly: "仅指定键",
                withPrefix: "前缀匹配",
                target: "目标事件",
                eventCreate: "创建",
                eventRemove: "删除",
                eventValueChange: "值变更",
                removeMonitor: "删除监视器",
                addMonitor: "添加监视器",
            }
        },
        cluster: {
            metrics: "数据库指标",
            metricsBtnTitle: "从 etcd 数据库查询指标数据",
            compact: "键值压缩",
            compactBtnTitle: "压缩 etcd 键值存储中的事件历史记录",
            defragment: "碎片整理",
            defragmentBtnTitle: "对 etcd 数据库进行碎片整理以恢复存储空间",
            snapshot: "导出快照",
            snapshotBtnTitle: "从 etcd 数据库导出快照并保存到本地文件",
            clusterInfoTitle: "集群信息",
            clusterId: "集群ID",
            memberId: "成员ID",
            revision: "修订版本",
            etcdVersion: "ETCD版本",
            leader: "领导者",
            dbSizeAllocated: "已分配空间",
            dbSizeUsed: "已使用空间",
            raftIndex: "Raft索引",
            raftAppliedIndex: "Raft应用索引",
            raftTerm: "Raft任期",
            errors: "异常",
            everythingOk: "节点无异常",
            alarmNoSpace: "警报：空间额度已用完！",
            alarmCorrupt: "警报：检测到 kv 存储损坏！",
            leaderTag: "领导者",
            currentTag: "当前",
            peerUri: "成员连接地址",
            clientUri: "客户端连接地址",
            compactNotice: "压缩 etcd 键值存储中的事件历史记录。键值存储应定期压缩，否则事件历史记录将无限期地继续增长。",
            physical: "等待物理生效",
            physicalTitle: "设置后 RPC 将等待压缩物理应用于本地数据库，以便压缩的条目完全从数据库中删除。",
            defragmentConfirmTip: "确认执行碎片整理？",
            needRevisionTip: "需要有效的修订版本",
            compactConfirmTip: "确认执行压缩操作？",
            snapshotConfirmTip: "确认创建快照？下载持续时间取决于快照数据大小。",
        },
        keys: {
            addKey: "新增键",
            deleteKeys: "批量删除",
            myCollections: "我的收藏",
            search: "从数据库搜索",
            searchBtnTitle: "从 etcd 数据库搜索键",
            currentKey: "当前键",
            loadMore: "加载更多",
            loadedLine: "已加载 {count} 个键",
            loadedLineTitle: "已加载键的数量",
            removeCollectionTitle: "从收藏列表移除",
            collect: "收藏",
            monitor: "监视",
            collectBtnTitle: "添加到我的收藏列表",
            editBtnTitle: "编辑监视规则",
            addMonitorBtnTitle: "添加到监视列表",
            versionDiff: "版本对比",
            copyAndSave: "复制并保存",
            rename: "重命名",
            k8sFormatNotice: "Kubernetes 存储原格式为 protobuf，已自动格式化为<strong>只读</strong>的 json 格式。",
            grantedTtl: "授予时间(TTL)",
            createRevision: "创建版本",
            modifyRevision: "修订版本",
            emptyStateHeadline: "请选择一个键",
            emptyStateTitle: "选择一个键以查看其详细信息或对其进行编辑",
            diffDialogAlert: "已自动使用格式化的内容",
            versionA: "版本A",
            versionB: "版本B",
            putThisVersion: "设为最新",
            fromLabel: "源键",
            toLabel: "目标键",
            deleteFrom: "删除源键",
            key: "键",
            completeInputHint: "全局前缀（如果存在）下的键",
            neverExpire: "永不过期",
            withTtl: "过期时间(TTL)",
            withLease: "绑定租约",
            ttlHint: "键的过期时间，如果为空则表示永不过期，可选。",
            leaseHint: "将键绑定到此租约，它们共享相同的生命周期。请确保租约已经存在，否则作将失败。",
            collectionInputPlaceholder: "输入键并添加到收藏列表",
            searchFromServerPlaceHolder: "输入前缀并从远程数据库搜索",
            searched: "已搜索",
            searchFromServerTip: "搜索 etcd 数据库中的所有键，并显示最多 50 个结果。",
            resolveConflict: "解决冲突",
            resolveConflictAlert: "系统检测到中间版本，请在提交前确定是否合并内容。",
            yourVersion: "你的版本",
            latestVersion: "最新版本 ({version})",
            resolvedAndSubmit: "已解决并提交",
            renamePath: "重命名路径",
            path: "路径",
            deleteOriginKeys: "删除重命名之前的键",
            putStrategy: "新建策略",
            coverStrategy: "覆盖",
            renameStrategy: "重命名",
            logs: "记录",
            emptyKeyTip: "键不能为空",
            invalidTtlTip: "请输入有效的 TTL 值",
            invalidLeaseTip: "请输入有效的租约ID",
            keyNotChangedTip: "键未发生变化",
            deleteEmptyKeyTip: "请至少在目录树中选择一个键",
            deleteConfirm: "请确认是否永久删除这些键: ",
            deletingKeyTip: "删除键中...",
            addNonUtf8ToCollectionTip: "无法将非 utf8 编码的键名添加到收藏中！",
            addNonUtf8ToMonitorTip: "无法将非 utf8 编码的键名添加到监视列表中！",
            formatCheckConfirm: "检测出值内容格式不正确，确认仍继续提交？",
            noMultipleVersionTip: "没有多个版本，或者修订记录已被压缩整理",
            failedToLoadReversion: "加载版本 {version} 失败: ",
            versionTagCreate: "创建",
            versionTagLatest: "最新",
            deleteKeyConfirm: "请确认永久删除键：",
            putAnywayConfirm: "确认将版本 <strong style=\"color: #CDDC39;\">{version}</strong> 更新为最新？",
            pathNameNotChanged: "路径名未发生变化",
            renameFailed: "重命名失败：前缀路径下的键数量 ({count}) 超过设置的上限，请在设置中调整此上限。",
            confirmDiffTitle: "请确认此次修改变化",
            confirmDiffBefore: "修改之前",
            confirmDiffAfter: "修改之后",
            coverDirtyConfirm: "当前修改未保存，是否抛弃修改？",
            exportEmptyKeysTip: "请至少在目录树中选择一个键",
            batchExport: "批量导出",
            batchImport: "批量导入",
            batchImportFilePlaceholder: "请选择批量导入的文件",
            batchExportAndImportAlert: "任务中有失败项！失败条目数：{num}",
        },
        monitor: {
            markAllRead: "标记全部已读",
            clearHistory: "清除记录",
            myMonitors: "我的监视器",
            created: "创建",
            removed: "删除",
            valueChanged: "值变更",
            fromMonitor: "来自监视器",
            emptyStateHeadline: "暂无监视事件通知",
            diffBefore: "变更前",
            diffAfter: "变更后",
            watchStatus: "监视状态",
            search: "搜索监视器",
            confirmClearHistory: "确认要清除所有监视事件记录？",
            confirmRemoveMonitor: "确认要移除此监视器？",
        },
        leases: {
            grantNew: "授予新租约",
            leaseId: "租约ID",
            grantedTtl: "授予时间(TTL)",
            errorStateHeadline: "发生异常!",
            errorStateText: "无法读取租约信息，请重试",
            emptyStateHeadline: "无租约数据",
            ttlHint: "过期时间，单位秒",
            customId: "自定义ID",
            customIdHint: "自定义租约ID，如果设置为0或者不填将自动生成租约ID",
            customIdPlaceholder: "选填",
            leaseExpiredTip: "租约已经失效",
            revokeLeaseConfirm: "绑定到此租约的键也将被删除，你确定要删除它吗？",
            requiredTtlTip: "请填写有效的TTL参数",
            invalidTtlTip: "TTL不能为负数",
        },
        users: {
            addUser: "添加用户",
            authEnable: "开启身份认证",
            authDisable: "关闭身份认证",
            user: "用户",
            roles: "角色",
            search: "搜索",
            grantRole: "授予角色",
            changePassword: "修改密码",
            userPlaceholder: "请输入用户账号",
            newPassword: "密码",
            newPasswordPlaceholder: "请输入用户密码",
            roleHint: "请选择一个角色",
            rolePlaceholder: "角色",
            authEnableConfirm: "确定要打开身份验证功能吗？执行后需要重新连接。",
            authDisableConfirm: "确定要关闭身份验证功能吗？执行后需要重新连接。",
            revokeUserRoleConfirm: "确认回收用户 <strong>{user}</strong> 的角色 <strong>{role}</strong> ？",
            requiredPasswordTip: "密码不能为空",
            deleteUserConfirm: "确认删除用户？<br/><strong>{user}</strong>",
        },
        roles: {
            addRole: "添加角色",
            permission: "权限",
            operation: "操作",
            read: "读",
            write: "写",
            readAndWrite: "读和写",
            revoke: "回收",
            grantPermission: "授予权限",
            deleteRole: "删除角色",
            errorStateHeadline: "发生异常！",
            errorStateText: "读取角色信息失败，请重试",
            emptyStateHeadline: "无角色",
            roleName: "角色名",
            role: "角色",
            keyType: "键类型",
            allKeys: "所有键",
            keyHint: "此处的键用于完整路径，与当前连接的全局前缀（Namespace）无关。",
            keyPlaceholder: "请输入键的路径",
            revokePermissionConfirm: "确定要回收角色的权限",
            deleteRoleConfirm: "确定要删除此角色？",
            requiredRoleNameTip: "角色名不能为空",
            requiredKeyTip: "键不能为空",
        }
    },
    setting: {
        nav: {
            app: "应用设置",
            connection: "连接设置",
            keys: "键",
            update: "更新",
            donate: "捐赠",
            about: "关于",
        },
        resetAll: "重置所有设置",
        theme: "主题",
        lightTheme: "亮色模式",
        darkTheme: "深色模式",
        systemTheme: "跟随系统",
        language: "语言",
        connectTimeout: "连接超时时间",
        connectTimeoutDesc: "连接到 etcd 数据库的超时时间，单位秒。",
        requestTimeout: "请求超时时间",
        requestTimeoutDesc: "请求 etcd 数据库的超时时间，单位秒。",
        sshConnectTimeout: "SSH连接超时时间",
        sshConnectTimeoutDesc: "连接到 SSH 服务器的超时时间，单位秒。",
        closeTab: "快捷关闭连接页签",
        closeTabDesc: "使用快捷键 {shortcut} 关闭当前连接页签.",
        fileEncryptKey: "存储加密密钥",
        fileEncryptKeyDesc: "本地存储连接信息时使用的字节长度为16的加密密钥",
        exportConf: "导出连接配置文件",
        importConf: "导入连接配置文件",
        keySplitter: "键路径分隔符",
        keySplitterDesc: "将键路径解析为树结构的分隔符。",
        maxKeysForSearchSuggestions: "提示搜索限制",
        maxKeysForSearchSuggestionsDesc: "限制每次提示下一级目录时需搜索键的数量，值越大搜索越准确，性能也会越低。",
        pathRenameKeyLimit: "目录重命名限制",
        pathRenameKeyLimitDesc: "如果目录路径包含的键数量超过此值，则不允许重命名。",
        paginationQuery: "分页查询",
        paginationQueryDesc: "当键数量较大时，可以启用分页查询来优化查询性能。",
        paginationLimit: "分页数",
        paginationLimitDesc: "分页查询时每页查询的键数量",
        searchDirInTree: "树搜索匹配目录",
        searchDirInTreeDesc: "开启后将会在搜索树节点时匹配目录名，关闭则只匹配键。",
        checkFormatBeforeSave: "保存前检查格式",
        checkFormatBeforeSaveDesc: "在每次保存键之前检查格式是否正确",
        confirmDiffBeforeSave: "保存前确认变化",
        confirmDiffBeforeSaveDesc: "在保存之前进行修改对比确认",
        editorTheme: "编辑器主题",
        editorThemeDesc: "设置编辑器主题颜色",
        editorLightTheme: "亮色主题",
        editorDarkTheme: "暗色主题",
        curVersion: "当前版本",
        checkUpdate: "检查更新",
        downloadInGithub: "在GitHub下载",
        autoUpdate: "自动更新",
        autoUpdateDesc: "当官方有新版本发布时自动更新。",
        updateSource: "更新源",
        updateSourceDesc: "在更新检查或安装期间，将从指定的源读取或下载内容。",
        donateDesc: "你的支持是作者开发最大的动力，感谢你请的coffee🍵！",
        wechatRewards: "微信赞赏",
        supportAuthorCoffee: "请作者喝一杯咖啡",
        donateViaPayPal: "使用PayPal捐赠",
        donateViaWechat: "使用微信捐赠",
        opensource: "开源",
        license: "开源协议",
        reportBug: "提交Bug",
        goToSubmit: "前往提交",
        author: "作者",
        emailMe: "给作者发邮件",
        contactOnGithub: "在 GitHub 上联系作者",
        contactOnWechat: "在微信上联系作者",
        encryptKeyLengthTip: "密钥长度必须为16",
        resetAllConfirm: "你确定重置所有设置？",
        exportConnectionTip: "导出连接配置成功",
        importConnectionTip: "导入连接配置成功",
        checkingUpdate: "检查更新中...",
        alreadyLatestVersionTip: "你当前是最新版本",
        clickToView: "点击查看详细内容",
    }
}